fix(ci): pin smoketest Node to package.json devEngines version#174
Open
dormouse-bot wants to merge 1 commit into
Open
fix(ci): pin smoketest Node to package.json devEngines version#174dormouse-bot wants to merge 1 commit into
dormouse-bot wants to merge 1 commit into
Conversation
Deploying mouseterm with
|
| Latest commit: |
4fb153f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://86304273.mouseterm.pages.dev |
| Branch Preview URL: | https://fix-ci-smoketest-node-pin-28.mouseterm.pages.dev |
This was referenced Jun 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The Standalone Smoketest CI job started failing on every PR with:
The smoketest runs
cargo checkinstandalone/src-tauri, which executesbuild.rs. That script resolves Node vianode -p process.execPath(the PATH node) and fails the build unless its version exactly equalspackage.json'sdevEngines.runtime.versionpin (22.22.3).The job set up Node with a bare
node-version: 22, which tracks whatever 22.x the GitHub runner image happens to ship. The runner's 22.x line recently advanced from22.22.3to22.23.0, so the exact-match check inbuild.rsbegan failing — even though the pin itself never changed. This is environmental drift, not a code regression, and it affects every PR andmainpush that runs the smoketest.Fix
Drive
setup-nodefrom the pin instead of a bare major version, so the exact pinned Node is provisioned regardless of the runner default. This mirrors the existing build-standalone job inrelease.yml, which already readsdevEngines.runtime.versionviajqand feeds it tosetup-node— and matches the contractbuild.rsdocuments ("CI reads the same field to drive actions/setup-node").Only the
standalone-smoketestjob needs this: it is the one that runscargo checkdirectly. Thebuild-and-testjob runs everything through pnpm, wheredevEngines(onFail: "download") already provisions the pinned Node for scripts.Testing
No unit test is feasible for a CI workflow change — the verification is the Standalone Smoketest check on this PR going green, which exercises the exact path that is currently red on other open PRs. With the pin-driven setup-node, the runner installs
22.22.3andbuild.rs's version check passes.This is intentionally not a pin bump (
22.22.3→22.23.0): the disclosed runtime version is a supply-chain-controlled value that should advance through the maturity-window dependency path, not a CI convenience edit.